#include <linux/bpf.h>
#include <bpf/bpf_helpers.h>

#ifndef __BPF_HELPERS__

//
// bpf_helpers中已经定义了此函数
//
static int (*bpf_trace_printk)(const char *fmt, int fmt_size, ...) = (void *)BPF_FUNC_trace_printk;

#endif

SEC("tracepoint/syscalls/sys_enter_execve")
int bpf_prog(void *ctx) {
    char msg[] = "Hello, BPF World!";
    bpf_trace_printk(msg, sizeof(msg));
    return 0;
}

// _license -> 在符号表
// 定义 section 指向这个符号表
char _license[] SEC("license") = "GPL";
